package AdapterAndFacade.Adapters;

import AdapterAndFacade.AdapterInterfaces.Duck;
import AdapterAndFacade.AdapterInterfaces.Turkey;

/**
 * ①首先需要实现想转换成的类型接口,也就是你的客户期望看到的接口
 * <p>
 * ②需要取得要适配的对象引用，这里我用了构造函数获取这个引用
 * <p>
 * ③实现接口中的所有方法，
 *
 * @Author: pengzx
 * @Description:
 * @Date: 9:57 2017/9/14
 * @Modified by: 1.0
 */
//                             ①
public class TurkeyAdapter extends Duck {
    Turkey turkey;

    //          ②
    public TurkeyAdapter(Turkey turkey)
    {
        this.turkey = turkey;
    }

    //    ③
    @Override
    public void quack()
    {
        turkey.gobble();
    }

    //    ③
    @Override
    public void fly()
    {
        for (int i = 0; i < 5; i++){
            turkey.fly();
        }
    }
}
